home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / Hyperj-Hz / HyperMac™1.2.cpt / Datebook / background_2114.txt < prev    next >
Text File  |  1987-11-27  |  10KB  |  409 lines

  1. -- background: 2114 from stack: in
  2. -- bmap block id: 17904
  3. -- flags: 0000
  4. -- background id: 0
  5. -- name: Weekly
  6. ----- HyperTalk script -----
  7. on newStack
  8.   extendWeekly
  9. end newStack
  10.  
  11. on extendWeekly
  12.   global it
  13.   -- Make a year's worth of new cards.
  14.   answer "Make another six months of new cards?" with "OK" or "Cancel"
  15.   if it is "Cancel" then exit extendWeekly
  16.   put 60*60*24 into OneDay           --seconds in a day
  17.   go to last card of this background
  18.   put getStartDate() into start      --what date to begin on
  19.   if start is "Cancel" then exit extendWeekly
  20.  
  21.   repeat with cnt = 1 to (26+1)   --weeks in a year
  22.     put start into it        --a copy
  23.     convert it to dateItems
  24.     put (item 1 of it) & space into field "Month"    -- "1987 "
  25.     put WeekNumber(start) into field "WeekNumber"
  26.     convert it to long date
  27.     put word 1 of item 2 of it after field "Month"   -- "1987 June"
  28.  
  29.     Repeat with index = 1 to 7
  30.       put word index of ("Monday Tuesday Wednesday Thursday" && "Friday Weekend Weekend") into myDay
  31.       put start into it
  32.       convert it to dateItems
  33.       if index = 7 then
  34.         put return & (item 3 of it) after field myDay  --day of month
  35.         --Sunday is in same field as Sat, but on second line
  36.       else
  37.         put (item 3 of it) into field myDay  --normal day
  38.       end if
  39.       add OneDay to start  --get ready for the next day
  40.     end repeat
  41.     doMenu "New Card"      --add a card for the next week
  42.   end repeat
  43.   doMenu "delete card"     --get rid of extra card at end
  44. end extendWeekly
  45.  
  46. function getStartDate
  47. -- end of stack or today, whichever is newer
  48. get field "Month"
  49. if it is empty then put the date into it
  50. else
  51.   put (word 2 of it) & space before it   --get month first
  52.   delete word 3 of it
  53.   put space & field "monday" & "," after word 1 of it
  54. end if
  55. put startOfWeek(it) into it    --so we can compare
  56. put the date into thisWeek
  57. put startOfWeek(thisWeek) into thisWeek    --both at week starts in seconds
  58. if thisWeek < 2587766400 then
  59.   answer "Set the Control Panel to today's date" with "OK"
  60.   return "Cancel"
  61. end if
  62. if it >= thisWeek then return it   --calendar already beyond today
  63. convert it to short date
  64. convert thisWeek to short date
  65. answer "Start from which date?" with it or thisWeek or "Cancel"
  66. if it is "Cancel" then return it
  67. convert it to seconds
  68. return it
  69. end getStartDate
  70.  
  71. function startOfWeek aDate     -- the seconds for the start of this week
  72. put 60*60*24 into OneDay      --seconds in a day
  73. put aDate into it
  74. convert it to long date
  75. repeat while item 1 of it <> "Monday"
  76.   convert it to seconds
  77.   subtract OneDay from it
  78.   convert it to long date
  79. end repeat
  80. convert it to seconds
  81. return it
  82. end startOfWeek
  83.  
  84. function weekNumber start
  85. put start into now
  86. convert now to dateItems
  87. put "Jan 1, " & (item 1 of now) into it
  88. put startOfWeek(it) into it     --beginning of this year
  89. put 60*60*24*7 into OneWeek           --seconds in a day
  90. put ((start-it)/OneWeek) +1 into it   --weeks into this year
  91. return trunc(it)       --an integer
  92. end weekNumber
  93.  
  94.  
  95.  
  96.  
  97. -- part 12 (field)
  98. -- low flags: 00
  99. -- high flags: 4000
  100. -- rect: left=32 top=77 right=149 bottom=223
  101. -- title width / last selected line: 0
  102. -- icon id / first selected line: 0 / 0
  103. -- text alignment: 0
  104. -- font id: 3
  105. -- text size: 12
  106. -- style flags: 0
  107. -- line height: 14
  108. -- part name: 
  109.  
  110.  
  111. -- part 14 (field)
  112. -- low flags: 00
  113. -- high flags: 4000
  114. -- rect: left=32 top=166 right=238 bottom=223
  115. -- title width / last selected line: 0
  116. -- icon id / first selected line: 0 / 0
  117. -- text alignment: 0
  118. -- font id: 3
  119. -- text size: 12
  120. -- style flags: 0
  121. -- line height: 14
  122. -- part name: 
  123.  
  124.  
  125. -- part 15 (field)
  126. -- low flags: 00
  127. -- high flags: 4000
  128. -- rect: left=31 top=256 right=328 bottom=222
  129. -- title width / last selected line: 0
  130. -- icon id / first selected line: 0 / 0
  131. -- text alignment: 0
  132. -- font id: 3
  133. -- text size: 12
  134. -- style flags: 0
  135. -- line height: 14
  136. -- part name: 
  137.  
  138.  
  139. -- part 45 (field)
  140. -- low flags: 00
  141. -- high flags: 4000
  142. -- rect: left=284 top=77 right=149 bottom=475
  143. -- title width / last selected line: 0
  144. -- icon id / first selected line: 0 / 0
  145. -- text alignment: 0
  146. -- font id: 3
  147. -- text size: 12
  148. -- style flags: 0
  149. -- line height: 14
  150. -- part name: 
  151.  
  152.  
  153. -- part 17 (field)
  154. -- low flags: 00
  155. -- high flags: 4000
  156. -- rect: left=283 top=168 right=240 bottom=474
  157. -- title width / last selected line: 0
  158. -- icon id / first selected line: 0 / 0
  159. -- text alignment: 0
  160. -- font id: 3
  161. -- text size: 12
  162. -- style flags: 0
  163. -- line height: 14
  164. -- part name: 
  165.  
  166.  
  167. -- part 18 (field)
  168. -- low flags: 00
  169. -- high flags: 4000
  170. -- rect: left=289 top=270 right=329 bottom=474
  171. -- title width / last selected line: 0
  172. -- icon id / first selected line: 0 / 0
  173. -- text alignment: 0
  174. -- font id: 3
  175. -- text size: 12
  176. -- style flags: 0
  177. -- line height: 14
  178. -- part name: 
  179.  
  180.  
  181. -- part 27 (field)
  182. -- low flags: 01
  183. -- high flags: 0000
  184. -- rect: left=13 top=25 right=58 bottom=201
  185. -- title width / last selected line: 0
  186. -- icon id / first selected line: 0 / 0
  187. -- text alignment: 0
  188. -- font id: 2
  189. -- text size: 24
  190. -- style flags: 0
  191. -- line height: 32
  192. -- part name: Month
  193.  
  194.  
  195. -- part 20 (field)
  196. -- low flags: 01
  197. -- high flags: 0000
  198. -- rect: left=276 top=251 right=273 bottom=335
  199. -- title width / last selected line: 0
  200. -- icon id / first selected line: 0 / 0
  201. -- text alignment: 1
  202. -- font id: 2
  203. -- text size: 18
  204. -- style flags: 0
  205. -- line height: 24
  206. -- part name: WeekNumber
  207.  
  208.  
  209. -- part 21 (field)
  210. -- low flags: 01
  211. -- high flags: 0000
  212. -- rect: left=51 top=57 right=83 bottom=83
  213. -- title width / last selected line: 0
  214. -- icon id / first selected line: 0 / 0
  215. -- text alignment: 0
  216. -- font id: 2
  217. -- text size: 18
  218. -- style flags: 0
  219. -- line height: 24
  220. -- part name: monday
  221.  
  222.  
  223. -- part 22 (field)
  224. -- low flags: 01
  225. -- high flags: 0000
  226. -- rect: left=53 top=146 right=172 bottom=85
  227. -- title width / last selected line: 0
  228. -- icon id / first selected line: 0 / 0
  229. -- text alignment: 0
  230. -- font id: 2
  231. -- text size: 18
  232. -- style flags: 0
  233. -- line height: 24
  234. -- part name: tuesday
  235.  
  236.  
  237. -- part 23 (field)
  238. -- low flags: 01
  239. -- high flags: 0000
  240. -- rect: left=48 top=236 right=262 bottom=80
  241. -- title width / last selected line: 0
  242. -- icon id / first selected line: 0 / 0
  243. -- text alignment: 0
  244. -- font id: 2
  245. -- text size: 18
  246. -- style flags: 0
  247. -- line height: 24
  248. -- part name: wednesday
  249.  
  250.  
  251. -- part 24 (field)
  252. -- low flags: 01
  253. -- high flags: 0000
  254. -- rect: left=472 top=57 right=83 bottom=507
  255. -- title width / last selected line: 0
  256. -- icon id / first selected line: 0 / 0
  257. -- text alignment: 0
  258. -- font id: 2
  259. -- text size: 18
  260. -- style flags: 0
  261. -- line height: 24
  262. -- part name: thursday
  263.  
  264.  
  265. -- part 25 (field)
  266. -- low flags: 01
  267. -- high flags: 0000
  268. -- rect: left=471 top=147 right=173 bottom=507
  269. -- title width / last selected line: 0
  270. -- icon id / first selected line: 0 / 0
  271. -- text alignment: 0
  272. -- font id: 2
  273. -- text size: 18
  274. -- style flags: 0
  275. -- line height: 24
  276. -- part name: friday
  277.  
  278.  
  279. -- part 26 (field)
  280. -- low flags: 01
  281. -- high flags: 0000
  282. -- rect: left=471 top=237 right=284 bottom=510
  283. -- title width / last selected line: 0
  284. -- icon id / first selected line: 0 / 0
  285. -- text alignment: 0
  286. -- font id: 2
  287. -- text size: 18
  288. -- style flags: 0
  289. -- line height: 24
  290. -- part name: weekend
  291.  
  292.  
  293. -- part 67 (button)
  294. -- low flags: 00
  295. -- high flags: 0000
  296. -- rect: left=95 top=25 right=60 bottom=134
  297. -- title width / last selected line: 0
  298. -- icon id / first selected line: 4432 / 4432
  299. -- text alignment: 1
  300. -- font id: 0
  301. -- text size: 12
  302. -- style flags: 0
  303. -- line height: 16
  304. -- part name: To Do
  305. ----- HyperTalk script -----
  306. on mouseUp
  307.   visual effect zoom open
  308.   go first card of background "To Do"
  309. end mouseUp
  310.  
  311.  
  312.  
  313. -- part 68 (button)
  314. -- low flags: 00
  315. -- high flags: 0000
  316. -- rect: left=133 top=25 right=60 bottom=172
  317. -- title width / last selected line: 0
  318. -- icon id / first selected line: 8961 / 8961
  319. -- text alignment: 1
  320. -- font id: 0
  321. -- text size: 12
  322. -- style flags: 0
  323. -- line height: 16
  324. -- part name: 
  325. ----- HyperTalk script -----
  326. on mouseUp
  327.   Answer "You are already here." with "OK"
  328. end mouseUp
  329.  
  330.  
  331.  
  332. -- part 72 (button)
  333. -- low flags: 00
  334. -- high flags: 0000
  335. -- rect: left=171 top=25 right=60 bottom=210
  336. -- title width / last selected line: 0
  337. -- icon id / first selected line: 22855 / 22855
  338. -- text alignment: 1
  339. -- font id: 0
  340. -- text size: 12
  341. -- style flags: 0
  342. -- line height: 16
  343. -- part name: Yearly
  344. ----- HyperTalk script -----
  345. on mouseUp
  346.   get field "Month"
  347.   put space & word 1 of it after it
  348.   delete word 1 of it
  349.   put space & field "Monday" & "," after word 1 of it
  350.   goSixMonthly it
  351. end mouseUp
  352.  
  353.  
  354.  
  355. -- part 75 (button)
  356. -- low flags: 00
  357. -- high flags: 0000
  358. -- rect: left=461 top=26 right=61 bottom=500
  359. -- title width / last selected line: 0
  360. -- icon id / first selected line: 14953 / 14953
  361. -- text alignment: 1
  362. -- font id: 0
  363. -- text size: 12
  364. -- style flags: 0
  365. -- line height: 16
  366. -- part name: Home
  367. ----- HyperTalk script -----
  368. on mouseUp
  369.   visual effect dissolve
  370.   go "home"
  371. end mouseUp
  372.  
  373.  
  374.  
  375. -- part 76 (button)
  376. -- low flags: 00
  377. -- high flags: 0000
  378. -- rect: left=275 top=28 right=56 bottom=312
  379. -- title width / last selected line: 0
  380. -- icon id / first selected line: 19381 / 19381
  381. -- text alignment: 1
  382. -- font id: 0
  383. -- text size: 12
  384. -- style flags: 0
  385. -- line height: 16
  386. -- part name: Prev
  387. ----- HyperTalk script -----
  388. on mouseUp
  389.   go to previous card
  390. end mouseUp
  391.  
  392.  
  393. -- part 77 (button)
  394. -- low flags: 00
  395. -- high flags: 0000
  396. -- rect: left=312 top=28 right=55 bottom=349
  397. -- title width / last selected line: 0
  398. -- icon id / first selected line: 22308 / 22308
  399. -- text alignment: 1
  400. -- font id: 0
  401. -- text size: 12
  402. -- style flags: 0
  403. -- line height: 16
  404. -- part name: Next
  405. ----- HyperTalk script -----
  406. on mouseUp
  407.   go to next card
  408. end mouseUp
  409.